import type { PageParams, PageResult } from '@/types/global'
import type { BannerItem, CategoryItem, GuessItem, HotItem } from '@/types/home'
import { http } from '@/utils/http'

/**
 * 首页-广告区域-小程序
 * 获取首页轮播图。
 * 除了首页调用广告区域外，其他的页面也会调用广告接口
 * @param distributionSite 广告区域展示位置。1 为首页（默认值），2 为商品分类页
 */
export const getHomeBannerAPI = (distributionSite = 1) => {
  return http<BannerItem[]>({
    method: 'GET',
    url: '/home/banner',
    data: {
      distributionSite: distributionSite,
    },
  })
}

/**
 * 首页-前台分类-小程序
 * 获取首页前台分类数据。
 * 小程序查询前台分类，只查询一级类目信息（此处 pc 和 app、mini共用了一套前台类目信息）
 */
export const getHomeCategoryAPI = () => {
  return http<CategoryItem[]>({
    method: 'GET',
    url: '/home/category/mutli',
  })
}

/**
 * 首页-热门推荐-小程序
 * 获取首页热门推荐数据。
 */
export const getHomeHotAPI = () => {
  return http<HotItem[]>({
    method: 'GET',
    url: '/home/hot/mutli',
  })
}

/**
 * 猜你喜欢-小程序
 * 获取猜你喜欢数据。
 * @data page 分页的页码，默认值 1 ; pageSize 每页数据的条数，默认是 10
 */
export const getHomeGoodsGuessLikeAPI = (data?: PageParams) => {
  return http<PageResult<GuessItem>>({
    method: 'GET',
    url: '/home/goods/guessLike',
    data: data,
  })
}
